<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	
	<!-- 루트 컨테이너의 환경 파일의 위치를 설정한다. -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/spring/root-context.xml
			/WEB-INF/spring/root-dao-context.xml
			/WEB-INF/spring/root-security-context.xml
		</param-value>
	</context-param>
	
	<!-- 루트 컨테이너에서 사용되는 문자열 Encryptor의 명칭을 설정한다. -->
	<context-param>
		<param-name>stringEncryptorName</param-name>
		<param-value>strongHibernateStringEncryptor</param-value>
	</context-param>
	
	<!-- 모든 서블릿과 필터들이 공유하는 루트 컨테이너를 생성한다. -->
	<listener>
		<listener-class>devcken.springframework.web.context.ExtendableContextLoaderListener</listener-class>
	</listener>
	
	<!-- NewBiz 서블릿을 선언한다. -->
	<servlet>
		<servlet-name>NewBiz</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/spring/newbiz/servlet-context.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>NewBiz</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
		
	<!-- 인코딩 설정을 위해 인코딩 필터를 등록한다. -->
	<filter>
		<filter-name>Encoding Filter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>Encoding Filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<!-- 보안을 위한 스프링 시큐리티 필터를 등록한다. -->
	<filter>
		<filter-name>Security Filter</filter-name>
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
		<init-param>
			<param-name>targetBeanName</param-name>
			<param-value>springSecurityFilterChain</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>Security Filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<jsp-config>
		<taglib>
			<taglib-uri>enumerationTag</taglib-uri>
			<taglib-location>/WEB-INF/taglibrary/enumerationtag/EnumerationTag.tld</taglib-location>
		</taglib>
	</jsp-config>
	
	<welcome-file-list>
		<welcome-file>index</welcome-file>
	</welcome-file-list>

</web-app>
